package com.testplatform.aitestplatform.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.testplatform.common.annotation.Excel;
import com.testplatform.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 接口自动化测试用例对象 api_test_case
 * 
 * @author ruoyi
 * @date 2025-10-26
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value="ApiTestCase对象", description="接口自动化测试用例")
public class ApiTestCase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("${column.columnComment}")
    private Long id;

    /** 用例序号，例如 H10 */
    @Excel(name = "用例序号，例如 H10")
    @ApiModelProperty("用例序号，例如 H10")
    private String serialNumber;

    /** 所属项目 */
    @Excel(name = "所属项目")
    @ApiModelProperty("所属项目")
    private String project;

    /** 接口模块 */
    @Excel(name = "接口模块")
    @ApiModelProperty("接口模块")
    private String module;

    /** 用例标题 */
    @Excel(name = "用例标题")
    @ApiModelProperty("用例标题")
    private String title;

    /** 用例标签，JSON数组格式，如["冒烟测试", "核心流程"] */
    @Excel(name = "用例标签，JSON数组格式，")
    @ApiModelProperty("用例标签，JSON数组格式")
    private String tags;

    /** 请求头，JSON格式 */
    @Excel(name = "请求头，JSON格式")
    @ApiModelProperty("请求头，JSON格式")
    private String requestHeader;

    /** 请求方式 */
    @Excel(name = "请求方式")
    @ApiModelProperty("请求方式")
    private String requestMethod;

    /** 接口地址 */
    @Excel(name = "接口地址")
    @ApiModelProperty("接口地址")
    private String apiUrl;

    /** 请求参数/体，JSON格式 */
    @Excel(name = "请求参数/体，JSON格式")
    @ApiModelProperty("请求参数/体，JSON格式")
    private String requestBody;

    /** 期望响应结果，JSON格式 */
    @Excel(name = "期望响应结果，JSON格式")
    @ApiModelProperty("期望响应结果，JSON格式")
    private String expectedResponse;

    /** 实际执行后的响应结果，JSON格式 */
    @Excel(name = "实际执行后的响应结果，JSON格式")
    @ApiModelProperty("实际执行后的响应结果，JSON格式")
    private String actualResponse;

    /** 提取返回数据的规则，JSON格式 */
    @Excel(name = "提取返回数据的规则，JSON格式")
    @ApiModelProperty("提取返回数据的规则，JSON格式")
    private String dataExtraction;

    /** 数据库校验SQL */
    @Excel(name = "数据库校验SQL")
    @ApiModelProperty("数据库校验SQL")
    private String dbValidationSql;

    /** 自动运行开关：1-开启，0-关闭 */
    @Excel(name = "自动运行开关：1-开启，0-关闭")
    @ApiModelProperty("自动运行开关：1-开启，0-关闭")
    private Integer autoRunEnabled;

    /** 用例状态：1-启用，0-禁用 */
    @Excel(name = "用例状态：1-启用，0-禁用")
    @ApiModelProperty("用例状态：1-启用，0-禁用")
    private Integer isActive;

    /** 记录创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "记录创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("记录创建时间")
    private Date createdTime;



}
